﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt.oracle
{
	// Token: 0x02000144 RID: 324
	public class TPlsqlRecordTypeDefStmt : TCustomSqlStatement
	{
		// Token: 0x06000ACB RID: 2763 RVA: 0x003055D7 File Offset: 0x003037D7
		public TPlsqlRecordTypeDefStmt() : this(EDbVendor.dbvoracle)
		{
		}

		// Token: 0x06000ACC RID: 2764 RVA: 0x003055E1 File Offset: 0x003037E1
		public TPlsqlRecordTypeDefStmt(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstplsql_recordtypedef;
		}

		// Token: 0x06000ACD RID: 2765 RVA: 0x003055F5 File Offset: 0x003037F5
		internal override void buildsql()
		{
		}

		// Token: 0x170001FB RID: 507
		// (get) Token: 0x06000ACE RID: 2766 RVA: 0x003055F7 File Offset: 0x003037F7
		// (set) Token: 0x06000ACF RID: 2767 RVA: 0x003055FF File Offset: 0x003037FF
		public virtual TObjectName TypeName
		{
			get
			{
				return this.typeName;
			}
			set
			{
				this.typeName = value;
			}
		}

		// Token: 0x06000AD0 RID: 2768 RVA: 0x00305608 File Offset: 0x00303808
		internal override void clear()
		{
		}

		// Token: 0x06000AD1 RID: 2769 RVA: 0x0030560A File Offset: 0x0030380A
		internal override string getasprettytext()
		{
			return "";
		}

		// Token: 0x06000AD2 RID: 2770 RVA: 0x00305611 File Offset: 0x00303811
		internal virtual void iterate(TVisitorAbs pvisitor)
		{
		}

		// Token: 0x06000AD3 RID: 2771 RVA: 0x00305613 File Offset: 0x00303813
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			base.doParseStatement(psql);
			return 0;
		}

		// Token: 0x170001FC RID: 508
		// (get) Token: 0x06000AD4 RID: 2772 RVA: 0x0030561E File Offset: 0x0030381E
		// (set) Token: 0x06000AD5 RID: 2773 RVA: 0x00305626 File Offset: 0x00303826
		public virtual TParameterDeclarationList FieldDeclarations
		{
			get
			{
				return this.fieldDeclarations;
			}
			set
			{
				this.fieldDeclarations = value;
			}
		}

		// Token: 0x06000AD6 RID: 2774 RVA: 0x0030562F File Offset: 0x0030382F
		public override void init(object arg1, object arg2)
		{
			this.typeName = (TObjectName)arg1;
			this.typeName.ObjectType = 27;
			this.fieldDeclarations = (TParameterDeclarationList)arg2;
		}

		// Token: 0x06000AD7 RID: 2775 RVA: 0x00305656 File Offset: 0x00303856
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000AD8 RID: 2776 RVA: 0x00305666 File Offset: 0x00303866
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			this.fieldDeclarations.acceptChildren(v);
			v.postVisit(this);
		}

		// Token: 0x04001298 RID: 4760
		private TObjectName typeName;

		// Token: 0x04001299 RID: 4761
		private TParameterDeclarationList fieldDeclarations;
	}
}
